<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // ES6 数值拓展

    // 构造函数Number的方法
    // Number.isFinite()  用来检查一个数值是否为有限的（finite），即不是Infinity。
    // 注意，如果参数类型不是数值，Number.isFinite一律返回false。

    // console.log(Number.isFinite(15)); // true
    // console.log(Number.isFinite(0.8)); // true
    // console.log(Number.isFinite(NaN)); // false
    // console.log(Number.isFinite(Infinity)); // false
    // console.log(Number.isFinite(-Infinity)); // false

    // console.log(Number.isFinite('foo')); // false
    // console.log(Number.isFinite('15')); // false
    // console.log(Number.isFinite(true)); // false


    // ---------------------------------------------------------------

    // isNaN()   => 传统的方法  window.isNaN()  用来检查一个值是否为NaN => 非数字:true 数字:false
    // number: 参数是number类型 直接判断 
    // console.log(isNaN(NaN)); // true
    // console.log(isNaN(100)); // false
    // console.log(isNaN(Infinity)); // false

    // 非number:  =>参数不是number类型 先转number类型在判断
    // console.log(isNaN("15")); // "15" => 15  false
    // console.log(isNaN("15a")); // "15a" => NaN  true

    // console.log(isNaN(true)); // true => 1  false
    // console.log(isNaN(false)); // false => 0  false

    // console.log(isNaN(null)); // null => 0  false
    // console.log(isNaN(undefined)); // undefined=> NaN  true


    // Number.isNaN()  构造函数Number的方法
    // 如果参数类型不是NaN，Number.isNaN一律返回false。

    // console.log(Number.isNaN(NaN)); // true
    // console.log(Number.isNaN(100)); // false
    // console.log(Number.isNaN(Infinity)); // false

    // 非number:
    // console.log(Number.isNaN("15")); // false
    // console.log(Number.isNaN("15a")); //false
    // console.log(Number.isNaN(true)); // false
    // console.log(Number.isNaN(false)); //false
    // console.log(Number.isNaN(null)); // false
    // console.log(Number.isNaN(undefined)); // false


    `  Number.parseInt(), Number.parseFloat()  ES6 将全局方法parseInt()和parseFloat()，移植到Number对象上面，行为完全保持不变。`

    // ES5的写法
    // parseInt('12.34') // 12
    // parseFloat('123.45#') // 123.45

    // // ES6的写法
    // Number.parseInt('12.34') // 12
    // Number.parseFloat('123.45#') // 123.45


    // Number.isInteger()用来判断一个数值是否为整数。
    // 如果参数不是数值，Number.isInteger返回false。
    // console.log(Number.isInteger(25)) // true
    // console.log(Number.isInteger(25.0)) // true
    // console.log(Number.isInteger(25.1)) // false







</script>

</html>